package com.spring.lesson001.demo1.factory;

import org.springframework.beans.factory.ObjectProvider;

/**
 * BeanFactory描述
 *
 * @author vhans
 */
public interface MyBeanFactory {
    // 按bean的id或者别名查找容器中的bean
    Object getBean(String name);

    // 按照bean的id或者别名查找指定类型bean
    <T> T getBean(String name, Class<T> requiredType);

    // 返回容器中指定类型的Bean
    <T> T getBean(Class<T> requiredType);

    // 获取指定类型的Bean对象的获取器
    <T> ObjectProvider<T> getBeanProvider(Class<T> requiredType);
}
